using DotNetty.Buffers;
using Tars.Net.Attributes;
using Tars.Net.Codecs.Attributes;

namespace QQTars
{
    [TarsStruct]
    public class SvcReqRegister
    {
        [TarsStructProperty(0)]
        public long lUin { get; set; } = 0;
        [TarsStructProperty(1)]
        public long lBid { get; set; } = 0;
        [TarsStructProperty(2)]
        public byte cConnType { get; set; } = 0;
        [TarsStructProperty(3)]
        public string sOther { get; set; } = "";
        [TarsStructProperty(4)]
        public int iStatus { get; set; } = 11;
        [TarsStructProperty(5)]
        public byte bOnlinePush { get; set; } = 0;
        [TarsStructProperty(6)]
        public byte bIsOnline { get; set; } = 0;
        [TarsStructProperty(7)]
        public byte bIsShowOnline { get; set; } = 0;
        [TarsStructProperty(8)]
        public byte bKikPC { get; set; } = 0;
        [TarsStructProperty(9)]
        public byte bKikWeak { get; set; } = 0;
        [TarsStructProperty(10)]
        public long timeStamp { get; set; } = 0;
        [TarsStructProperty(11)]
        public long iOSVersion { get; set; } = 0;
        [TarsStructProperty(12)]
        public byte cNetType { get; set; } = 0;
        [TarsStructProperty(13)]
        public string sBuildVer { get; set; } = "";
        [TarsStructProperty(14)]
        public byte bRegType { get; set; } = 0;
        [TarsStructProperty(15)]
        public IByteBuffer vecDevParam { get; set; }
        [TarsStructProperty(16)]
        public IByteBuffer vecGuid { get; set; }
        [TarsStructProperty(17)]
        public int iLocaleID { get; set; } = 2052;
        [TarsStructProperty(18)]
        public byte bSlientPush { get; set; } = 0;
        [TarsStructProperty(19)]
        public string strDevName { get; set; } = "";
        [TarsStructProperty(20)]
        public string strDevType { get; set; } = "";
        [TarsStructProperty(21)]
        public string strOSVer { get; set; } = "";
        [TarsStructProperty(22)]
        public byte bOpenPush { get; set; } = 1;
        [TarsStructProperty(23)]
        public long iLargeSeq { get; set; } = 0;
        [TarsStructProperty(24)]
        public long iLastWatchStartTime { get; set; } = 0;
        [TarsStructProperty(26)]
        public long uOldSSOIp { get; set; } = 0;
        [TarsStructProperty(27)]
        public long uNewSSOIp { get; set; } = 0;
        [TarsStructProperty(28)]
        public string sChannelNo { get; set; } = "";
        [TarsStructProperty(29)]
        public long lCpId { get; set; } = 0;
        [TarsStructProperty(30)]
        public string strVendorName { get; set; } = "";
        [TarsStructProperty(31)]
        public string strVendorOSName { get; set; } = "";
        [TarsStructProperty(32)]
        public string strIOSIdfa { get; set; } = "";
        [TarsStructProperty(33)]
        public IByteBuffer bytes_0x769_reqbody { get; set; }
        [TarsStructProperty(34)]
        public byte bIsSetStatus { get; set; } = 0;
        [TarsStructProperty(35)]
        public IByteBuffer vecServerBuf { get; set; }
        [TarsStructProperty(36)]
        public byte bSetMute { get; set; } = 0;
    }

    [Rpc("PushService")]
    public interface PushService
    {
        [Oneway]
        void SvcReqRegister(SvcReqRegister SvcReqRegister);
    }
}